package com.arpa.wms.domain.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.arpa.ntocc.common.common.util.excel.StringConverter;
import com.arpa.wms.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 发货单 导入 DTO
 */
@Data
@ApiModel(value = "DeliveryExcelDTO对象", description = "发货单导入DTO")
public class DeliveryExcelDTO extends BasicEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "仓库编码")
    @ExcelProperty(converter = StringConverter.class)
    private String warehouseSerialNumber;

    @ApiModelProperty(value = "货主名称")
    @ExcelProperty(converter = StringConverter.class)
    private String shipmentName;

    @ApiModelProperty(value = "店铺名称")
    @ExcelProperty(converter = StringConverter.class)
    private String shopNick;

    @ApiModelProperty(value = "商家订单号（来源单号）")
    @ExcelProperty(converter = StringConverter.class)
    private String sourceCode;

    @ApiModelProperty(value = "销售平台单号（奇门传递过来的出库单号）")
    @ExcelProperty(converter = StringConverter.class)
    private String deliveryOrderCode;

    @ApiModelProperty(value = "销售平台来源（订单来源平台编码）")
    @ExcelProperty(converter = StringConverter.class)
    private String sourcePlatformCode;

    @ApiModelProperty(value = "收货人姓名")
    @ExcelProperty(converter = StringConverter.class)
    private String receiverName;

    @ApiModelProperty(value = "收货人手机")
    @ExcelProperty(converter = StringConverter.class)
    private String receiverMobile;

    @ApiModelProperty(value = "收件人省")
    @ExcelProperty(converter = StringConverter.class)
    private String receiverProvince;

    @ApiModelProperty(value = "收件人市")
    @ExcelProperty(converter = StringConverter.class)
    private String receiverCity;

    @ApiModelProperty(value = "收件人区县")
    @ExcelProperty(converter = StringConverter.class)
    private String receiverDistrict;

    @ApiModelProperty(value = "收货人详细地址")
    @ExcelProperty(converter = StringConverter.class)
    private String receiverDetailAddress;

    @ApiModelProperty(value = "客户名称")
    @ExcelProperty(converter = StringConverter.class)
    private String customerName;

    @ApiModelProperty(value = "商品编码")
    @ExcelProperty(converter = StringConverter.class)
    private String goodCode;

    @ApiModelProperty(value = "商品数量")
    @ExcelProperty(converter = StringConverter.class)
    private String damagedQuantity;

    @ApiModelProperty(value = "承运商名称")
    @ExcelProperty(converter = StringConverter.class)
    private String carrierName;

    @ApiModelProperty(value = "客户门店编码")
    @ExcelProperty(converter = StringConverter.class)
    private String customerNo;

    @ApiModelProperty(value = "订单类型")
    @ExcelProperty(converter = StringConverter.class)
    private String type;

    @ApiModelProperty(value = "商品价格")
    @ExcelProperty(converter = StringConverter.class)
    private String price;

    @ApiModelProperty(value = "三方运单号")
    @ExcelProperty(converter = StringConverter.class)
    private String waybillCode;

    @ApiModelProperty(value = "缺货是否发货")
    @ExcelProperty(converter = StringConverter.class)
    private String isDeliveringIfStockout;


    @ApiModelProperty(value = "商品名称")
    @ExcelIgnore
    private String goodsName;

    @ApiModelProperty(value = "商品价格")
    @ExcelIgnore
    private BigDecimal actualPrice;


    @ApiModelProperty(value = "客户编码")
    @ExcelIgnore
    private String customerCode;

    @ApiModelProperty(value = "仓库名称")
    @ExcelIgnore
    private String warehouseName;

    @ApiModelProperty(value = "货主编码")
    @ExcelIgnore
    private String shipmentSerialNumber;

    @ApiModelProperty(value = "承运商编码")
    @ExcelIgnore
    private String carrierCode;

    @ApiModelProperty(value = "承运商类型")
    @ExcelIgnore
    private String carrierType;

    @ApiModelProperty(value = "仓库code")
    @ExcelIgnore
    private String warehouseCode;

    @ApiModelProperty(value = "货主code")
    @ExcelIgnore
    private String shipmentCode;

    @ApiModelProperty(value = "发件人名称")
    @ExcelIgnore
    private String senderName;

    @ApiModelProperty(value = "发件人移动电话")
    @ExcelIgnore
    private String senderMobile;

    @ApiModelProperty(value = "发件人省份")
    @ExcelIgnore
    private String senderProvince;

    @ApiModelProperty(value = "订单类型名称")
    @ExcelIgnore
    private String typeName;

    @ApiModelProperty(value = "发件人城市")
    @ExcelIgnore
    private String senderCity;

    @ApiModelProperty(value = "发件人区县")
    @ExcelIgnore
    private String senderDistrict;

    @ApiModelProperty(value = "发件人详细地址")
    @ExcelIgnore
    private String senderDetailAddress;

    @ApiModelProperty(value = "商品编码code")
    @ExcelIgnore
    private String goodsCode;

    @ApiModelProperty(value = "商品条码")
    @ExcelIgnore
    private String goodsBarCode;

    @ApiModelProperty(value = "商品规格")
    @ExcelIgnore
    private String spec;

    @ApiModelProperty(value = "商品数量")
    @ExcelIgnore
    private BigDecimal expirationQuantity;

    @ApiModelProperty(value = "单位")
    @ExcelIgnore
    private String goodsUnit;

    @ApiModelProperty(value = "单位名称")
    @ExcelIgnore
    private String goodsUnitName;

    @ApiModelProperty(value = "基本单位")
    @ExcelIgnore
    private String basicUnit;

    @ApiModelProperty(value = "基本单位名称")
    @ExcelIgnore
    private String basicUnitName;

    @ApiModelProperty(value = "物流公司编码")
    @ExcelIgnore
    private String logisticsCode;

    @ApiModelProperty(value = "基本单位转换数量值")
    @ExcelIgnore
    private BigDecimal basicQuantity;

    @ApiModelProperty(value = "明细的总数量")
    @ExcelIgnore
    private BigDecimal totalNum;

    @ApiModelProperty(value = "明细的总数量")
    @ExcelIgnore
    private BigDecimal quantity;

}
